1. Field of the Invention
The present invention relates to a library device for automatically loading, unloading, keeping, recording data in, reproducing data of, etc. storage media, to a position control device for obtaining position information of a mechanism unit required for transporting storage media and determining a stop position, and to a method thereof.
2. Description of the Related Art
A library device today is used as, for example, a jukebox. It automatically performs loading/unloading, keeping, recording data in/reproducing data of, etc. storage media. Optical disks, MTs (Magnetic Tapes), CD-ROMs (Compact Disk-Read Only Memories), etc. are used as the storage media.
The library device normally comprises a cartridge access station (CAS) for loading/unloading storage media, a plurality of cells for storing the storage media, a drive unit for recording data in/reproducing data of a storage medium, and an accessor for transporting the storage medium between each of the components. The accessor comprises a hand unit for holding a storage medium, a picker mechanism unit (picker unit) for moving the hand unit holding the storage medium backward and forward, and a Y-axis mechanism unit (Y unit) for moving the picker unit upward and downward.
FIG. 1A shows a picker unit and its peripheral hardware in a conventional optical disk library device. In this figure, a storage medium 1, cell 2, picker unit 3, and a hand unit 4, are depicted as a top view; gears 8, 9, and 10 are depicted as a side view; and a driving unit 11, move amount detecting unit 12, controlling unit 13, and a storing unit 14 are depicted as a block diagram. The picker unit 3 comprises pulleys 5 and 7, and a belt 6 arranged between the pulleys 5 and 7.
An MPU (Micro Processing Unit) 20 included in the controlling unit 13 performs feedback control of the driving unit 11 according to a program stored in a ROM (Read Only Memory) 21 in the storing unit 14. The driving unit 11 includes a picker motor 15, power amplifier 16, and a D/A converter 17. The motor 15 is driven according to a control signal from the MPU 20, and rotates the gear 10. As a result, power is transmitted to the pulley 7 via the gears 8 and 9.
When the pulley 7 rotates, the hand unit 4 holding the storage medium 1 moves backward and forward, and the fingers of the hand unit 4 open/close as the hand unit 4 moves backward and forward. A section during which the fingers are closed (closed section), and a section during which the fingers are open (open section) are included in a stroke of the hand unit 4. The MPU 20 controls the hand unit 4 in order to stop it in each of the sections. The hand unit 4 holds or releases the storage medium 1 in the cell 2 according to a combination of the sections.
FIG. 1B shows a load end at which a rotary motion of the motor 15 is converted into a linear motion of the hand unit 4. In this figure, a gear 8xe2x80x2 is securely disposed on the rotation shaft of the gear 8. Rotation is transmitted to the pulley 7 via a gear 7xe2x80x2 engaging with the gear 8xe2x80x2. A rotary motion of the pulley 7 is converted into a linear motion of the belt 6, which moves the hand unit 4 backward and forward. In this case, the gear 7xe2x80x2 securely disposed on the rotation shaft of the pulley 7 corresponds to the load end.
FIG. 1C shows the position at which the hand unit 4 stays at the back end of its entire stroke (home position). FIG. 1D shows the position at which the hand unit 4 stays at the front end of its entire stroke (empty position). The fingers of the hand unit 4 are closed at the home position shown in FIG. 1C, and are open at the empty position shown in FIG. 1D.
FIG. 1E shows the closed section during which the fingers are closed, while FIG. 1F shows the open section during which the fingers are open. For the control of the picker unit 3, it is vital to stop the hand unit 4 with high accuracy at the position where the fingers are closed or open, which is close to the center of each of these sections.
The move amount detecting unit 12 comprises a two-phase (A- and B-phase) encoder 18, and an up-and-down counter circuit 19. The MPU 20 reads the value obtained by counting the number of pulses output from the encoder 18 by the up-and-down counter 19, thereby obtaining the amount of a move in the backward and forward directions of the hand unit 4.
An arbitrary encoder such as an optical encoder, magnetic encoder, etc. can be used as the encoder 18, which is a sensor for detecting a rotation angle of the motor 15. An encoder using a photo-interrupter is shown in FIG. 1G as an example. In FIG. 1G, the encoder 18 comprises a slit plate 22 which is securely disposed on the rotation shaft of the motor 15, and a photo-interrupter 23 peripheral to the slit plate 22.
The slit plate 22 has slits at predetermined intervals as shown in FIG. 1H. As the motor 15 rotates, two beams of light of A and B phases of the photo-interrupter 23 pass through the slits, or are interrupted by the slit plate 22. Each of output signals of the A and B phases of the photo-interrupter 23 becomes ON when a beam of light passes through, while it becomes OFF when the beam of light is interrupted. In this way, these output signals become pulse signals which cycle between ON and OFF.
The rotation angle of the motor 15 is obtained according to the number of pulses shown in FIG. 1I, and the corresponding amount of a move of the hand unit 4 is estimated. Additionally, there is a relative difference between an A-phase pulse and a B-phase pulse. The direction of the rotation of the motor 15 is determined according to the direction of this difference. If the direction of the rotation of the motor 15 is determined, the direction of the corresponding move of the hand unit 4 can be obtained.
However, since only a relative amount of a move can be obtained from the value of the up-and-down counter 19, the MPU 20 resets the up-and-down counter 19 at the home position shown in FIG. 1C. Thereafter, the MPU 20 controls the picker unit 3 using this position as a home reference, without resetting the counter value.
To reset the up-and-down counter 19, the MPU 20 slowly drives the hand unit 4 backward so as not to apply a load to the picker unit 3, when the device is powered up, verifies a position at which the counter value remains unchanged for a predetermined amount of time or more, and resets the up-and-down counter 19 at that position.
To move the hand unit 4 from the home position to the closed position shown in FIG. 1E, the MPU 20 must have the absolute count value of the closed position based on the reset value of the home position, as the information for specifying that position. This is similar to the case in which the hand unit 4 is moved to the open position shown in FIG. 1F.
A conventional library device stores the count values for specifying the length of the entire stroke shown in FIG. 1D, the closed position shown in FIG. 1E, and the open position shown in FIG. 1F, in the ROM 21 as design values, and controls the picker unit 3 using these values. Assuming that the design value of the home position shown in FIG. 1C is xe2x80x9c0xe2x80x9d, the design values of the positions shown in FIGS. 1D, 1E, and 1F are respectively 211, 192, and 206.
FIG. 1J shows a Y unit and its peripheral hardware in a conventional optical disk library device. A Y flag 38, Y sensor 39, driving unit 40, move amount detecting unit 41, controlling unit 42, and a storing unit 43, as shown in FIG. 1J, are practically included in a library device 31. The Y unit comprises pulleys 35 and 37, and a belt 36 arranged between them, Y flag 38, and a Y sensor 39.
An MPU 49 included in the controlling unit 42 performs feedback control of the driving unit 40, by using a non-volatile RAM (Random Access Memory) 50xe2x80x2 according to a program stored in a ROM 50 in a storing unit 43. The driving unit 40 includes a Y motor 44, power amplifier 45, and a D/A converter 46. It rotates the pulley 37 by driving the Y motor 44 according to a control signal from the MPU 49.
According to the rotation of the pulley 37, the picker unit 3 moves upward or downward. The picker unit 3 can be stopped at a desired position among the positions corresponding to the CAS 32, each of cells 2 in a cell drum 33, and each of drives 34. For the control of the Y unit, it is vital to stop the picker unit 3 with high accuracy at these positions.
The move amount detecting unit 41 includes a two-phase (A- and B-phase) encoder 47, and an up-and-down counter circuit 48. The MPU 49 reads a value obtained by counting the number of pulses output from the encoder 47 with the up-and-down counter 48, thereby obtaining the amount of a move of the picker unit 3 in the upward or downward directions. The structure of the encoder 47 is similar to that of the encoder 18 shown in FIG. 1A.
Since only a relative amount of a move is obtained according to the value of the up-and-down counter 48, the home position must be determined when the device is powered up. Therefore, a Y flag 38 pointing to each of the positions of the CAS 32, cells 2, and the drives 34 is arranged, and the Y sensor 39 is attached to the picker unit 3.
The Y flag 38 has a home position pattern indicating the home position. The MPU 49 resets the up-and-down counter 48 when detecting the edge of this pattern. Thereafter, the MPU 49 controls the Y unit using this position as a reference, without resetting the counter value.
Additionally, the Y flag 38 has a mid-position pattern and a xcex8 rotation prohibition pattern in addition to the home position pattern. The area between both of the edges of the xcex8 rotation prohibition pattern represents a range in which the picker unit 3 cannot rotate in the direction denoted with xcex8. Each of the slits of the mid-position pattern is assigned to each of the positions of the CAS 32, cells 2, and the drives 34, and indicates the position at which the storage medium 1 is permitted to be selected/restored.
The Y sensor 39 is equipped with a photo-interrupter sensor unit corresponding to each of the home position pattern, mid-position pattern, and the xcex8 rotation prohibition pattern. An output signal from each photo-interrupter sensor becomes ON in an area, for example, a slit, through which a beam of light passes in each pattern, and becomes OFF in an area in which the beam of light is interrupted. The MPU 49 recognizes the position at which the output signal of each photo-interrupter sensor changes from ON to OFF, or the position at which the output signal changes from OFF to ON, as the edge position of each pattern.
If there is a radial error, for example, backlash in a load end which is a position at which a rotary motion of the motor 44 is converted into a linear motion, errors are accumulated as the number of rotations increases. Here, the load end corresponds to the pulley 37. If the motor 44 is driven based only on the information of the move amount detecting unit 41 in a state in which there is an error in the pulley 37, the positioning accuracy of the picker unit 3 is degraded.
Accordingly, in the conventional library device 31, a move distance is measured with the encoder 47, and each mid-position corresponding to a slit is detected with the Y sensor 39, so that an accurate counter value of a mid-position is obtained.
The MPU 49 scans the mid-position pattern using the edge of the home position pattern as a reference position, and obtains the counter values of the upper and lower edges of each of the slits. Then, the MPU 49 calculates the average value (middle value) of these two counter values, and uses the middle value of each of the slits as each stop position of the CAS 32, cells 2, and the drives 34.
FIG. 1K is a flowchart showing a process for determining a stop position of the picker unit 3. Once the process is started, the MPU 49 determines whether or not the current position is lower than the edge of the home position pattern (step S1). If xe2x80x9cYESxe2x80x9d, the MPU 49 drives the picker unit 3 upward, and moves it higher than the edge (step S2).
Then, the MPU 49 drives the picker unit 3 downward (step S3), and determines whether or not the edge of the home position pattern is detected (step S4). If xe2x80x9cYESxe2x80x9d, the MPU 49 resets the up-and-down counter 48, makes the picker unit 3 overrun the lowest mid-position (slit), and stops it (step S5). With this process, the edge position of the home position pattern is made to correspond to the counter value xe2x80x9c0xe2x80x9d.
Then, the MPU 49 drives the picker unit 3 upward (step S6), and sets a control variable xe2x80x9ckxe2x80x9d indicating a stop position to xe2x80x9c0xe2x80x9d (step S7). The MPU 49 next determines whether or not the mid-position sensor is ON (step S8).
Here, as shown in FIG. 1L, xe2x80x9cONxe2x80x9d of the mid-position sensor indicates that the point sensed by the Y sensor 39 exists in an area within a slit corresponding to any of the mid-positions. In the meantime, xe2x80x9cOFFxe2x80x9d of the mid-position sensor indicates that the point exists in an area outside a slit. xe2x80x9cON/OFFxe2x80x9d of the mid-position sensor correspond to xe2x80x9cON/OFFxe2x80x9d of an output signal of the Y sensor 39.
If the mid-position sensor becomes ON, the MPU 49 stores the counter value at that time in a RAM 50xe2x80x2 as xe2x80x9cXonu(k) xe2x80x9d, and next determines whether or not the mid-position sensor is OFF (step S10). If the mid-position sensor becomes OFF, the MPU 49 stores the counter value at that time in the RAM 50xe2x80x2 as xe2x80x9cXofu(k)xe2x80x9d (step S11). Then, the MPU 49 sets xe2x80x9ck=k+1xe2x80x9d (step S12), and determines whether or not the value of xe2x80x9ckxe2x80x9d is larger than the uppermost value corresponding to the uppermost mid-position, that is, the number of slits minus one (step S13). If xe2x80x9cNOxe2x80x9d, the MPU 49 repeats the process in and after step S8.
If the value of xe2x80x9ckxe2x80x9d is larger than the uppermost value in step S13, the MPU 49 calculates xe2x80x9cX(k)=[Xonu(k)+Xofu(k)]/2xe2x80x9d for each of the values of xe2x80x9ckxe2x80x9d from 0 to the uppermost value, obtains the middle values X(k) (step S14), and terminates the process.
If such a measurement of mid-positions is performed each time the device is powered up, an operator must wait for the duration of the measurement process. Accordingly, the obtained value of X(k) is stored in the RAM 50xe2x80x2, as each of the stop positions corresponding to each of the CAS 32, cells 2, and the drives 34. Thereafter, no further measurement is performed until a fault occurs.
However, the above described conventional position determination method has the following problems.
Normally, there is a radial error of a load end of the picker unit 3 shown in FIG. 1B, and errors are accumulated as the number of rotations increases. Therefore, the stop position accuracy of the hand unit 4 is degraded.
Since the picker unit 3 is not equipped with a sensor for detecting a stop position of the hand unit 4, the stop position of the hand unit 4 is determined based only on a design value, as described earlier. That is, it is difficult to accurately stop the hand unit 4 at the closed/open position.
In the meantime, for the control of the Y unit, the Y sensor 39 is attached to the Y unit for detecting the position of the picker unit 3, in order to correct an error at the load end. However, the encoder 47 detecting the amount of a move is attached to the rotary motor shaft, and the Y sensor 39 scanning the mid-position pattern is attached to the picker unit 3 performing a linear motion.
Since there are static and dynamic backlashes between the rotary motion of the Y motor 44 and the linear motion of the picker unit 3, it is impossible to accurately obtain the middle value of each slit even if the position determination process, which is shown in FIG. 1K, is performed.
A static backlash indicates a play in the engagement of gears, etc., while the dynamic backlash indicates a stretch/long term change of a belt, engagement between a gear and a belt, distortion in a frame of the library device 31, etc. The dynamic backlash occurs while the picker unit 3, etc. are operating, and restores to an original state when the operation is stopped. In the meantime, the static backlash occurs when operation of the picker unit 3, etc. is stopped.
With the position determination process shown in FIG. 1K, the position of the picker unit 3 is measured while operating the picker unit 3. Accordingly, the measured value naturally includes dynamic backlash, and also a calculated middle value includes an error. Therefore, it is difficult to obtain an accurate stop position for the picker unit 3.
Also the operations for determining the home position (reference position) of the home position pattern corresponding to steps S1 through S5 of FIG. 1K, include a similar error. These operations are performed each time power is turned on, and are intended only for determining the home position. Therefore, even if they include dynamic backlash, this does not matter if the backlash is constant during the operations.
If the backlash fluctuates, the relative relationship between the counter value at the home position and the stored middle values will not be maintained, and stop positions will include an error. Since the dynamic backlash may often vary during operations, an error at the home position does not match an error at each stop position.
An object of the present invention is to provide a position controlling device for accurately determining a stop position of a mechanism of an accessor which transports a storage medium in a library device, and a method thereof.
The position controlling device according to the present invention stores a plurality of storage media, and is used in a library device which comprises an automatic transporting unit for transporting a storage medium. It comprises a driving unit, move amount detecting unit, storing unit, controlling unit, and a position detecting unit.
The operations of the position controlling device according to the first aspect of the present invention are described below.
The driving unit drives the automatic transporting unit, and the move amount detecting unit detects the amount of a move of the automatic transporting unit. The storing unit stores predetermined first distance data. The controlling unit corrects position data of the automatic transporting unit using the ratio of second distance data obtained from the move amount detecting unit to the first distance data, and controls the driving unit using the corrected position data.
The operations of the position controlling device according to the second aspect of the present invention are described below.
The driving unit drives the automatic transporting unit, and the move amount detecting unit detects the amount of a move of the automatic transporting unit. The position detecting unit detects a particular position of the automatic transporting unit. The controlling unit moves the automatic transporting unit in two or more directions. It generates position data for control using two or more position data which are respectively obtained from the move amount detecting unit when the particular position is detected in two or more directions, and controls the driving unit using the position data for control.
With such a position controlling device, an error at a load end, and an error due to a backlash, are eliminated, thereby accurately controlling a stop position of a mechanism of an accessor in a library device.